/*
 * MazeBuilder.h
 *
 *  Created on: Jan 9, 2013
 *      Author: quanpv
 */

#ifndef MAZEBUILDER_H_
#define MAZEBUILDER_H_

//use shared_ptr
#include <boost/shared_ptr.hpp>

#include "Maze.h"

class MazeBuilder {
public:

	virtual ~MazeBuilder();

	virtual void BuildMaze() { }
	virtual void BuildRoom(int room) { }
	virtual void BuildDoor(int roomFrom, int roomTo) { }

	virtual boost::shared_ptr<Maze> GetMaze() { return boost::shared_ptr<Maze>();}

protected:
	MazeBuilder();
};

#endif /* MAZEBUILDER_H_ */
